﻿
@{
	Layout = null;
}

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>layui</title>
	<meta name="renderer" content="webkit">
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
	<link href="~/layuimini/lib/layui-v2.6.3/css/layui.css" rel="stylesheet" />
	<link href="~/layuimini/css/public.css" rel="stylesheet" />
</head>
<body>
	<div class="layuimini-container">
		<div class="layuimini-main">

			<fieldset class="table-search-fieldset">
				<legend>搜索信息</legend>
				<div style="margin: 10px 10px 10px 10px">
					<form class="layui-form layui-form-pane" action="">
						<div class="layui-form-item">
							<div class="layui-inline">
								<label class="layui-form-label">角色名</label>
								<div class="layui-input-inline">
									<input type="text" name="RoleName" autocomplete="off" class="layui-input">
								</div>
							</div>
							<div class="layui-inline">
								<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
							</div>
						</div>
					</form>
				</div>
			</fieldset>

			<script type="text/html" id="toolbarDemo">
				<div class="layui-btn-container">
					<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加 </button>
					<button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 删除 </button>
					<button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="bindUserInfo"> 绑定用户 </button>
					<button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="bindMenuInfo"> 绑定菜单 </button>
				</div>
			</script>

			<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>

			<script type="text/html" id="currentTableBar">
				<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
				<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
			</script>

		</div>
	</div>
	<script src="~/layuimini/lib/layui-v2.6.3/layui.js"></script>

	<script>
        var tableIns;
        var roleInfoId;

        layui.use(['form', 'table'], function () {
            var $ = layui.jquery,
                form = layui.form,
                table = layui.table;

            //渲染table并且获取实例
            tableIns = table.render({
                elem: '#currentTableId',
                url: 'http://localhost:31861/api/RoleInfo/GetRoleInfoList',
                toolbar: '#toolbarDemo',
                defaultToolbar: ['filter', 'exports', 'print', {
                    title: '提示',
                    layEvent: 'LAYTABLE_TIPS',
                    icon: 'layui-icon-tips'
                }],
                cols: [[
                    { type: "checkbox", width: 50 },
                    { field: 'id', title: 'ID', hide: true, sort: true },
                    { field: 'roleName', minWidth: 80, title: '角色名' },
                    { field: 'describe', minWidth: 150, title: '描述', sort: true },
                    { field: 'createTime', title: '创建时间', sort: true },
                    { title: '操作', minWidth: 150, toolbar: '#currentTableBar', align: "center" }
                ]],
                limits: [5, 10, 15, 20, 25, 50],
                limit: 5,
                page: true,
                skin: 'line'
            });

            // 监听搜索操作
            form.on('submit(data-search-btn)', function (data) {
                var result = JSON.stringify(data.field);

                tableIns.reload({
                    where: { //设定异步数据接口的额外参数，任意设
                        roleName: data.field.RoleName
                        , phoneNum: data.field.PhoneNum
                        //…
                    },
                    page: {
                        curr: 1 //重新从第 1 页开始
                    }
                });

                return false;
            });

            /**
             * toolbar监听事件
             */
            table.on('toolbar(currentTableFilter)', function (obj) {
                if (obj.event === 'add') {  // 监听添加操作
                    var index = layer.open({
                        title: '添加角色',
                        type: 2,
                        shade: 0.2,
                        maxmin: true,
                        shadeClose: true,
                        area: ['100%', '100%'],
                        content: '/RoleInfo/AddRoleInfoView'
                    });
                    $(window).on("resize", function () {
                        layer.full(index);
                    });
                } else if (obj.event === 'delete') {  // 监听删除操作
                    var checkStatus = table.checkStatus('currentTableId')
                        , data = checkStatus.data;
					var ris = [];
					for (var i = 0; i < data.length; i++) {
						ris.push(data[i].id);
                    }
                    console.log(ris)
					//发起请求批量删除用户
					$.ajax({
                        url: 'http://localhost:31861/api/RoleInfo/DeleteRoleInfos',
						type: 'post',
						data: {
                            roleInfoIds: ris
						},
						success: function (res) {
							if (res.isSuccess) {
								//刷新表格
								reLoadTable();
							}
							layer.msg(res.msg);
						}
					});
                } else if (obj.event === 'bindUserInfo') {  // 监听绑定用户操作
                    var checkStatus = table.checkStatus('currentTableId')
                        , data = checkStatus.data;
                    //layer.alert(JSON.stringify(data));

                    console.log(data);
                    //判断是否选择一个角色
                    if (data.length > 1) {
                        layer.msg('请勿选择多个角色');
                    } if (data.length == 0) {
                        layer.msg('请选择一个角色');
                    }
                    else {
                        //获取角色id，并赋值
                        roleInfoId = data[0].id;
                        var index = layer.open({
                            title: '绑定用户',
                            type: 2,
                            shade: 0.2,
                            maxmin: true,
                            shadeClose: true,
                            area: ['100%', '100%'],
                            content: '/RoleInfo/BindUserInfoView'
                        });
                        $(window).on("resize", function () {
                            layer.full(index);
                        });
                    }

                } else if (obj.event === 'bindMenuInfo') {  // 监听绑定菜单操作
                    var checkStatus = table.checkStatus('currentTableId')
                        , data = checkStatus.data;
                    //layer.alert(JSON.stringify(data));

                    console.log(data);
                    //判断是否选择一个角色
                    if (data.length > 1) {
                        layer.msg('请勿选择多个角色');
                    } if (data.length == 0) {
                        layer.msg('请选择一个角色');
                    }
                    else {
                        //获取角色id，并赋值
                        roleInfoId = data[0].id;
                        var index = layer.open({
                            title: '绑定菜单',
                            type: 2,
                            shade: 0.2,
                            maxmin: true,
                            shadeClose: true,
                            area: ['100%', '100%'],
                            content: '/RoleInfo/BindMenuInfoView'
                        });
                        $(window).on("resize", function () {
                            layer.full(index);
                        });
                    }

                }
            });

            //监听表格复选框选择
            table.on('checkbox(currentTableFilter)', function (obj) {
                console.log(obj)
            });

            table.on('tool(currentTableFilter)', function (obj) {
                var data = obj.data;
                if (obj.event === 'edit') {
                    roleInfoId = obj.data.id
                    var index = layer.open({
                        title: '编辑角色',
                        type: 2,
                        shade: 0.2,
                        maxmin: true,
                        shadeClose: true,
                        area: ['100%', '100%'],
                        content: '/RoleInfo/UpdateRoleInfoView'
                    });
                    $(window).on("resize", function () {
                        layer.full(index);
                    });
                    return false;
                } else if (obj.event === 'delete') {
                    console.log(obj);
                    layer.confirm('真的删除行么', function (index) {
                        //发起请求，删除数据库中的角色
                        $.ajax({
                            url: 'http://localhost:31861/api/RoleInfo/DeleteRoleInfo',
							data: { 'roleInfoId': obj.data.id },
                            type: 'post',
                            success: function (res) {
                                if (res.isSuccess) {
                                    //刷新表格
                                    reLoadTable();
                                }

                                layer.msg(res.msg);
                            }
                        });
                        //obj.del();
                        layer.close(index);
                    });
                }
            });

        });

        //刷新表格
        function reLoadTable() {
            tableIns.reload({
                //where: { //设定异步数据接口的额外参数，任意设
                //    aaaaaa: 'xxx'
                //    , bbb: 'yyy'
                //    //…
                //}
                page: {
                    curr: 1 //重新从第 1 页开始
                }
            });
        }
	</script>

</body>
</html>